import { useCallback } from 'react';
import { useFlowStore } from '../store/flowStore';
import { exportToHierarchyJSON } from '../utils/transform';
import { useFileExport } from './useFileExport';
import type { HierarchicalNode } from '../utils/transform';

/**
 * 行为树导出处理 Hook
 * 封装导出行为树到 JSON 的逻辑
 */
export function useExportHandler() {
  const { nodes, edges } = useFlowStore();
  const { exportFile } = useFileExport<HierarchicalNode>();

  const handleExport = useCallback(() => {
    // 将 React Flow 数据转换为层级化 JSON
    const hierarchyJSON = exportToHierarchyJSON(nodes, edges);

    // 导出文件
    exportFile(hierarchyJSON, 'behavior_tree.json');
  }, [nodes, edges, exportFile]);

  return { handleExport };
}

